The multi-commodity flow problem is a network flow problem with multiple commodities (flow demands) between different source and sink nodes.
Contents |
Given a flow network , where edge has capacity . There are commodities , defined by , where and is the source and sink of commodity , and is the demand. The flow of commodity along edge is . Find an assignment of flow which satisfies the constraints:
Capacity constraints: | |
Flow conservation: | |
Demand satisfaction: |
In the minimum cost multi-commodity flow problem, there is a cost for sending flow on . You then need to minimise
In the maximum multi-commodity flow problem, there are no hard demands on each commodity, but the total throughput is maximised:
In the maximum concurrent flow problem, the task is to maximise the minimal fraction of the flow of each commodity to its demand:
The minimum cost variant is a generalisation of the minimum cost flow problem. Variants of the circulation problem are generalisations of all flow problems.
RWA (Routing Wavelength Assignment) in Optical Burst Switching of Optical Network would be approached via multi-commodity flow formulas.
The known solutions to this problem are based on linear programming[1].
The problem is NP-complete[2] for integer flows, even for only two commodities. There exist fully polynomial time approximation schemes for solving the problem within an error bound[3]. For the fractional variant of the problem, a solution is found in polynomial time.